package com.superb.common.security.utils;

import cn.dev33.satoken.stp.SaLoginModel;
import com.alibaba.fastjson2.JSONObject;
import com.superb.common.utils.HeardersUtils;
import com.superb.common.utils.IpUtils;
import org.apache.commons.lang3.time.DateFormatUtils;

import java.util.Date;

/**
 * @Author: ajie
 * @CreateTime: 2024-07-23 15:25
 */
public class LoginUtils {

    /**
     * 获取登录信息
     * @param type
     * @return
     */
    public static SaLoginModel getLoginModal(Integer type) {
        SaLoginModel loginModel = new SaLoginModel();
        // 登录客户端、允许多个
        loginModel.setDevice(HeardersUtils.getClientType().name());
        // 登录端信息
        JSONObject signTag = new JSONObject();
        // 登录类型
        signTag.put("loginType", type);
        // 登录时间
        signTag.put("loginTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        // 登录ip
        signTag.put("loginIp", IpUtils.getCustomIp());
        // 最后活跃时间
        signTag.put("lastActiveTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        // 设置登录端数据
        loginModel.setTokenSignTag(signTag);
        return loginModel;
    }

}
